1. Field of the Invention
The present invention relates to the evaluation of the quality of bar code indicia and, more particularly, to a method and apparatus to enable high speed evaluation and verification of bar code indicia by processing scan reflectance profile signals in real-time.
2. Description of the Prior Art
At present bar code indicia are found in a wide range of applications and industries. Virtually every retail product marketed in supermarkets, retail stores, discount outlets, as well as many other establishments, utilize bar code symbols at their point-of-sale terminals, to monitor inventory levels, to generate orders for low inventory items, etc. Shipping companies rely heavily on the use of bar code indicia to monitor the location and status of packages in transit. Further, bar code indicia are universally employed in most countries around the world.
A large number of varied printing techniques are employed to apply bar code indicia to packages and containers. In all cases there is a need to verify the quality of the resulting indicia. Considerations such as the decodability, symbol contrast, first read rate (FRR), substitution error rate (SER), and others, are of critical importance when evaluating the quality of bar code indicia.
Bar code verification systems are well known in the art. Typically, these systems produce an analog signal known as a scan reflectance profile signal, or simply the scan reflectance signal, which is representative of the elements of the bar code indicia. The scan reflectance signal is often sampled, by a device such as an analog-to-digital converter, to produce a collection of sample values (fully) representative of the entire scan reflectance profile signal that are stored in a memory unit. The entire collection of sample values is generally very large and must be completely processed to evaluate the quality of the bar code indicia. Systems utilizing this method, wherein the entire scan reflectance profile signal is sampled and the sample values stored in memory, require a large sample memory. In addition, these systems are processor intensive, essentially requiring the entire processing power of the system CPU during sample processing and analysis. As a result, systems of this type are generally not capable of supporting real-time, or near real-time, high speed verification. This is especially the case where state-of-the-art ultra high evaluation speeds are desired.
An example of an application where a high speed (essentially real-time) evaluation and verification system would be desired is a system employed during the automated filling of a container on a conveyor line, wherein a bar code indicia is printed on the container. In this case verification in real-time is desired to detect when problems arise in the bar code printing process--at which point the line may be stopped to correct the problem. Generally in situations where full 100% verification is required, very high cost verifiers are employed, or the speed of the conveyor or assembly line is reduced accordingly.
Other systems are known that begin to process data samples as they are being generated and loaded into memory structures such as a first-in-first-out (FIFO) memory. Although, these systems decrease the time required for evaluation and verification of bar code indicia by overlapping in time the steps of generating sample values and processing sample values, they still require relatively large amounts of sample memory and consume most available CPU processing power. Again, due to the large number of sample values that must be processed and analyzed, they too are generally not capable of supporting high speed real-time verification.
At present, several standard guidelines have been established to quantitatively evaluate the quality of bar code indicia. Two such guidelines have been defined by the American National Standards Institute (ANSI), and the Uniform Code Council (UCC). The ANSI guideline (ANSI X3.182-1990) is titled "Bar Code Print Quality Guideline". The UCC guideline is titled "Quality Specification for the UPC Printed Symbol" (September 1994). The ANSI and UCC documents are hereby incorporated by reference. In particular, the ANSI document provides in section 4 measurement methodologies and related information, while parts 2 and 3 of the UCC document provide definitions and related measurement subject matter. These two documents define a number of figures of merit which can be determined from the sampled scan reflectance profile signal. However, since each guideline defines an entire procedure for evaluation, and further requires a succession of scans taken at equally spaced locations within an "interrogation window" along the height of the elements forming the bar code indicia, they have placed further demands on systems which are utilized to evaluate and verify the printed and general quality of bar code indicia. It is no longer the case where a few simple checks, such as decodability and scan contrast may be employed to determine the quality of indicia.
With the advent of rigorous and well defined quantitative measures to evaluate bar code indicia, such as the common UPC bar code symbol, there is a need for improved methods and associated apparatus to support evaluation and verification, particularly in real-time where 100% verification is desired. Objects of the present invention are, therefore, to provide new and improved methods and apparatus to support evaluation and verification of bar code indicia having one or more of the following capabilities, features, and/or characteristics:
enable high speed evaluation and verification of bar code indicia; PA1 process reflectance data samples as they (the samples) are generated in order to store in memory, or generally make available, only the critical peak samples that are necessary for various quantitative evaluation; PA1 capture critical samples, along with associated and related data, which will support the generation of a recreation of an approximate graphical representation of one or more portions of the scan reflectance profile signal originally produced by scanning the indicia; PA1 enable the detection and quantification of indicia defects as the indicia are being printed; PA1 support 100% (essentially) real-time verification in demanding applications; PA1 significantly reduce the amount of sample memory required to store samples collected; PA1 reduce the processing overhead (including processing time and CPU utilization) required to enable high speed evaluation; and PA1 relatively low cost implementation using many components and devices readily available.